home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 476-500 / disk_499 / diglib / diglib.lzh / source / CURVEY.for < prev    next >
Text File  |  1991-04-13  |  1KB  |  45 lines

  1.         SUBROUTINE CURVEY(XMIN,XMAX,Y,NPTS,ISYMNO,SYMSIZ,NPBSYM)
  2.         IMPLICIT NONE
  3.         REAL*4 Y(NPTS)
  4. C
  5. C       THIS SUBROUTINE TRACES THE LINE FROM X(1),Y(1) TO
  6. C       X(NPTS),Y(NPTS) WITH APPROPIATE CLIPPING.
  7. C       USE THIS ROUTINE WHEN CLIPPING IS DESIRED AND THE
  8. C       INDEPENDANT VARIABLE IS IMPLIED BY THE SUBSCRIPT
  9. C       USING EQUAL INTERVALS FROM XMIN TO XMAX.
  10. C          IT THEN ADDS THE DESIRED SYMBOL IN THE REQUIRED SIZE SPACED
  11. C       EVERY "NPBSYM" POINTS APART.
  12. C
  13.         REAL*4 AREA(4),VX,VY,DX,XNEW
  14.         INTEGER I,IOLDLT
  15. C
  16.        INCLUDE DIGLIB$KOM:GCLTYP.PRM
  17.        INCLUDE DIGLIB$KOM:PLTSIZ.PRM
  18. C
  19.         CALL GSSCLP(XVSTRT,XVSTRT+XVLEN,YVSTRT,YVSTRT+YVLEN,AREA)
  20.         CALL SCALE(XMIN,Y(1),VX,VY)
  21.         CALL GSMOVE(VX,VY)
  22. 10      DX = (XMAX-XMIN)/(NPTS-1)
  23.         XNEW = XMIN
  24.         DO 100 I=2,NPTS
  25.         XNEW = XMIN + (I-1)*DX
  26.         CALL SCALE(XNEW,Y(I),VX,VY)
  27. 100     CALL GSDRAW(VX,VY)
  28. C
  29. C       NOW ADD SYMBOLS IF DESIRED
  30. C
  31.         IF (ISYMNO .LE. 0) GO TO 800
  32.         IOLDLT = ILNTYP
  33.         ILNTYP = 1
  34.         DO 200 I=1,NPTS,NPBSYM
  35.         XNEW = XMIN + (I-1)*DX
  36.         CALL SCALE(XNEW,Y(I),VX,VY)
  37.         CALL GSMOVE(VX,VY)
  38.         CALL SYMBOL(ISYMNO,SYMSIZ)
  39. 200     CONTINUE
  40.         ILNTYP = IOLDLT
  41. 800     CONTINUE
  42.         CALL GSRCLP(AREA)
  43.         RETURN
  44.         END
  45.